package com.bailian.member.dto.input;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

@Data
@ApiModel(value = "用户登陆参数")
public class UserLoginInpDTO {
    /**
     * 手机号码
     */
    @ApiModelProperty(value = "手机号码")
    @NotBlank(message = "手机号码不能为空")
    @Size(min = 11, max = 11, message = "手机号码长度不正确")
    @Pattern(regexp = "^((13[0-9])|(14[5-8])|(15([0-3]|[5-9]))|(16[6])|(17[0|4|6|7|8])|(18[0-9])|(19[8-9]))\\d{8}$", message = "手机号码格式不正确")
    private String mobile;
    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    @NotBlank(message = "密码不能为空")
    private String password;

    /**
     * 登陆类型 PC、Android 、IOS
     */
    @ApiModelProperty(value = "登陆类型(Android|IOS|PC)")
    @NotBlank(message = "登陆类型不能为空")
    @Pattern(regexp = "Android|IOS|PC", message = "登陆类型错误")
    private String loginType;
    /**
     * 设备信息
     */
    @ApiModelProperty(value = "设备信息")
    @NotBlank(message = "设备信息不能为空")
    private String deviceInfor;
    // 为什么一个接口单独定义一个 dto请求参数类 swagger 接口文档对称
    /**
     * 腾讯开放ID
     */
    @ApiModelProperty(value = "腾讯开放ID")
    private String qqOpenId;

}
